package org.apache.osgimaker.analyse.algorithm.renderer;

import org.apache.osgimaker.analyse.algorithm.graph.AtomicVertex;
import org.apache.osgimaker.analyse.algorithm.graph.StrongComponent;

/**
 * Renderer for {@link AtomicVertex AtomicVertices}.
 * 
 */
public interface AtomicVertexRenderer 
{
  /** 
   * Renders an {@link AtomicVertex}.
   * @param vertex Vertex to be rendered.
   * @param cycle Cycle to which <code>vertex</code> belongs. Will be
   *        <code>null</code> if it does not belong to a cycle (i.e.
   *        a strong component with more than one element). 
   * @param layerIndex Index of the layer to which <code>vertex</code>
   *        belongs.
   */
  public String render(AtomicVertex vertex, StrongComponent cycle, 
                       int layerIndex);
}